BTrace: Path Optimization for Debugging
نویسندگان
چکیده
We present and solve a path optimization problem on programs. Given a set of program nodes, called critical nodes, we find a shortest path through the program’s control flow graph that touches the maximum number of these nodes. Control flow graphs over-approximate real program behavior; by adding dataflow analysis to the control flow graph, we narrow down on the program’s actual behavior and discard paths deemed infeasible by the dataflow analysis. We derive an efficient algorithm for path optimization based on weighted pushdown systems. We present an application for path optimization by integrating it with the Cooperative Bug Isolation Project (CBI ), a dynamic debugging system. CBI mines instrumentation feedback data to find suspect program behaviors, called bug predictors, that are strongly associated with program failure. Instantiating critical nodes as the nodes containing bug predictors, we solve for a shortest program path that touches these predictors. This path can be used by a programmer to debug his software. We present some early experience on using this hybrid static/dynamic system for debugging.
منابع مشابه
Path Optimization in Programs and Its Application to Debugging
We present and solve a path optimization problem on programs. Given a set of program nodes, called critical nodes, we find a shortest path through the program’s control flow graph that touches the maximum number of these nodes. Control flow graphs over-approximate real program behavior; by adding dataflow analysis to the control flow graph, we narrow down on the program’s actual behavior and di...
متن کاملMARKOVIAN SOFTWARE RELIABILITY MODEL FOR TWO TYPES OF FAILURES WITH IMPERFECT DEBUGGING RATE AND GENERATION OF ERRORS
N
متن کاملWhen does my program fail? (11b74b41d45d)
Oops! My program fails. Which are the circumstances under which this failure occurs? Answering this question is one of the first steps in debugging—and a crucial one, as it helps characterizing, understanding, and classifying the problem. In this paper, we propose a technique to identify failure circumstances automatically. Given a concrete failure, we first compute the path condition leading t...
متن کاملTowards automatic software fault location through decision-to-decision path analysis
Software development is a complex and error prone process. As a result of this process, much time is spent debugging software. This debugging process actually consists of two activities, fault localization and repair. For most problems, much of the debugging effort is devoted to fault localization. In this paper, current fault localization techniques are surveyed and a new technique called rela...
متن کاملPSO-Based Path Planning Algorithm for Humanoid Robots Considering Safety
In this paper we introduce an improvement in the path planning algorithm for the humanoid soccer playing robot which uses Ferguson splines and PSO (Particle Swarm Optimization). The objective of the algorithm is to find a path through other playing robots to the ball, which should be as short as possible and also safe enough. Ferguson splines create preliminary paths using random generated para...
متن کامل